Computer systems generally contain some type of mass-storage memory that is able to retain data when the computer system is powered down. This type of memory is referred to as nonvolatile memory because it is able to maintain data integrity when the computer system is not powered. A common type of nonvolatile mass-storage memory is a hard disc drive (HDD) that uses a rotating magnetic media. HDDs are used for home-computers, servers, and various other devices. HDDs with rotating magnetic media have been in use for many years and have undergone various improvements, including efficiency, reliability and storage capacity. Various applications, however, are beginning to use other types of nonvolatile memory with more frequency. Solid State Devices/Drives (SSDs) using electronic memory storage components are one such alternative nonvolatile memory. SSDs are attractive for many applications because, unlike HDDs, they have no need for moving parts. Although the lack of moving parts is generally beneficial, mechanical components in a hard drive can provide sources of entropy for random number generators that are not available in a SSD.
For a variety of reasons it is desirable to encrypt data stored in a nonvolatile mass-storage memory device. Some drives, such as Seagate Secure™ Self-Encrypting Drives, automatically encrypt data as it is stored using internal encryption hardware. A random number generator is commonly part of encryption hardware. Moving from HDDs to SSDs, however, raises a number of unsolved, and often unrecognized, issues. Aspects of the present invention, although not limited thereto, can be appreciated in the context of such mass-memory storage devices.